import numpy as np
import pandas as pd
class Student():
    def __init__(self,xuehao,yuwen,shuxue,yingyu):
        self.xuehao=xuehao
        self.yuwen=yuwen
        self.shuxue=shuxue
        self.yingyu=yingyu

def jiemian():
    print('*********************************************************************************')
    print('*                             学生成绩管理系统                                    *')
    print('*********************************************************************************')
    print('*                             H = 显示帮助菜单                                    *')
    print('*                             T = 成绩录入                                       *')
    print('*                             A = 计算学生平均分                                  *')
    print('*                             L = 列出成绩表                                      *')
    print('*                             P = 按平时成绩由高到低排序                           *')
    print('*                             S = 按学号查询学生成绩                               *')
    print('*                             Q = 退出系统                                        *')
    print('*********************************************************************************')
    print('*                           Copyright（c）2025.09.25 By MZQ                      *')
    print('*********************************************************************************')

def Type():
    students=[]
    size1=int(input("请输入学生人数：\n"))
    print(f'请输入{size1}名学生的三门课成绩\n学号 语文 数学 英语')
    for i in range(size1):
        yuwen,shuxue,yingyu=input(f'{i+1}\t').split('\t')
        xuehao=i+1
        yuwen=int(yuwen)
        shuxue=int(shuxue)
        yingyu=int(yingyu)
        students_1 = students.append((xuehao,yuwen,shuxue,yingyu))

    global student_count
    student_count=size1
    return students_1
def List():
    print(biaoge)
def Average(data):
    shujuzhi=pd.DataFrame([data['语文'],data['数学'],data['英语']])
    data['平均分']=shujuzhi.mean(axis=0)
    print('平均分已计算。请使用命令L查看。')
def Sort(data):
    # 冒泡排序
    for i in range(1, len(data)):
        for j in range(0, len(data) - i):
            if data[j] > data[j + 1]:
                data[j], data[j + 1] = data[j + 1], data[j]
    return data


    return
def Search():
    return
def Help():
    return


if __name__ == '__main__':
    student_count=0

    jiemian()
    while True:
        mingling=input(f'请输入命令：')
        mllist=['H','A','L','P','S']
        if student_count==0:
            if mingling in mllist:
                print('成绩表为空！请先使用命令 T 录入学生成绩。')
                continue
            elif mingling =='T':
                biaoge=Type()
                print('成绩录入成功！')
                continue
            elif mingling =='Q':
                break
            else:
                print('您输入的命令暂不支持！')
        else:
            if mingling =='T':
                print('系统已录入成绩，无法执行该命令！')
            else:
                match mingling:
                    case 'A':
                        Average()
                    case 'L':
                        List()
                    case 'P':
                        Sort()
                    case 'S':
                        Search()
                    case 'H':
                        Help()
                    case 'Q':
                        break
                    case _:
                        print('您输入的命令暂不支持！')
